package com.crl.module.eventParser
{
	import com.crl.core.IDispose;
	
	import flash.events.Event;
	
	/**
	 * 
	 * @author crl
	 * 
	 */	
	public interface IEventParser extends IDispose
	{
		
		/**
		 * 此值为当前事件解析器的标识,标识不能重复.如果重复将代表它不能被重复插入到管理列表中,必须先删除旧的. 
		 * @return 
		 * 
		 */		
		function getType():String;
		
		/**
		 * 开始解释事件; 
		 * @param event
		 * 
		 */		
		function toParse(event:Event):void;
		
		/**
		 * 取得此事件解析,将要解析的事件列表; 
		 * @return 
		 * 
		 */		
		function getEvents():Vector.<String>;
		
		
		/**
		 * 当从管理列表中 添加(删除) 时,会设置此属性 
		 * @param factory
		 * 
		 */		
		function set factory(factory:IEventParserFactory):void;
	}
}